<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <title>Flirt - a Flash&#153; Runtime</title>
    <link rel="stylesheet" href="style.css" type="text/css" media="screen" />
    <meta name="description" content="Flirt is an open source (BSD-style license), extensible Flash&#153; runtime" />
    <meta name="keywords" CONTENT="Flirt, Flash, runtime, player, free, open source">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  </head>

<body>

<div class="title">
Flirt
</div>

<div class="subtitle">
an open source extensible Flash&#153; runtime
</div>

<div class="hr"></div>

<div class="sidebar">

	<div class="sidebarbox">
	About<br>
	<a class="sidebarlink" href="render.html">Rendering</a><br>
	<a class="sidebarlink" href="script.html">Actionscript</a><br>
	<a class="sidebarlink" href="example.html">Example</a><br>
	<a class="sidebarlink" href="extensions.html">Extension API</a><br>
	<a class="sidebarlink" href="osx.html">OS X</a><br>
	<a class="sidebarlink" href="bugs.html">Bugs</a><br>
	<a class="sidebarlink" href="future.html">Future Directions</a><br>
	</div>

<br>

	<div class="sidebarbox">
	<a class="sidebarlink" href="http://prdownloads.sourceforge.net/flirt/flirt-20040823.tgz?download">Download source</a><br>
	</div>

<br>

	<div class="sidebarbox">
	<a class="sidebarlink" href="mailto:dave@opaque.net?Subject=Flirt">Contact</a><br>
	<br>
	<a class="sidebarlink" href="http://lists.sourceforge.net/lists/listinfo/flirt-devel">Mailing list</a><br>
	<br>
	<a class="sidebarlink" href="http://sourceforge.net/projects/flirt">SourceForge project page</a><br>
	<br>
	<A href="http://sourceforge.net">
	<IMG src="http://sourceforge.net/sflogo.php?group_id=18365&amp;type=1" width="88" height="31" border="0" alt="SourceForge Logo">
	</A>
	</div>

</div>

<div class="content">

<h3>Flirt is an SWF rendering library.</h3>

<p>Flirt contains a parser for reading SWF format files, a rasterizer
for rendering the vector shapes into bitmaps, and an actionscript
engine. Just hook it up to a timer and you've got a player. Interface
your system UI events into the hooks provided and it's interactive.
Present your application code to the player as actionscript objects and
you've got a scriptable, cross-platform UI.</p>

<p>Flirt is available under the BSD license, allowing for use in both
open source and commercial projects.</p>


<div class="hr"></div>
<br>
<font color="#666688"><b>news:</b></font>

<h3>06.01.21 - Source updated, patch applied</h3>

<p>I've got the license text in CVS and replaced the GPL header in all
of the source files. It's the standard two-clause BSD license:
redistributions, source or binary, must contain copyright and
disclaimer. And that's it.</p>

<p>As promised, I also merged in some fixes sent in by Olivier Houchard
to make Flirt run better on FreeBSD and fixed a boneheaded freed memory
access pointed out by Gabriel Gambetta.</p>

<p>Looking at the code again for the first time in almost a year, I'm
floored by the sheer amount of it. wc puts it at around 23K lines of
code. The app I've been working on at Panic for the last two years is
around 50K LOC&mdash;though that's Objective-C, so it doesn't fill up as
much space doing OO by hand. The point is, though, it's surprising how
far I got on this, yet still came up so short. I only hope that with the
new license it might be useful to more people and I'll have more to show
for all the time I put into it. It's been a great learning experience
and I'm certainly proud of what I've accomplished here&mdash;even if
it's not quite enough.

<h3>06.01.19 - Free as in broken ..but free</h3>

<p>I can't imagine I'll ever have the time to get it working right, and
it's just falling farther and farther behind Flash. Since it may be
useful for someone, and because I hate it when useful code is useless
because it's got the GPL on it, I'm moving Flirt to a BSD license.</p>

<p>I'll try to get the new license text in this weekend along with some 
fixes sent in.</p>

<h3>05.04.23 - Something new!</h3>

<p>I hacked up an <a href="sdltest.c">example</a> of using Flirt with 
<a href="http://www.libsdl.org" target=_new>SDL</a>, and fixed a few 
bugs I ran across while doing this. I also found that the code in 
CVS has been busted for the last six months, so, uh, sorry about 
that. It's fixed now.</p>

<p>All this is in CVS, not in the source download. I'll get a package 
built up at the end of the weekend when I'm done fixing things.</p>

<h3>04.09.09 - Forgot to mention..</h3>

<p>I checked in some fixes over the weekend to make inheritance 
(<code>__proto__</code> and all that..) work.</p>

<h3>04.08.22 - Extension API first release</h3>

<p>The <a href="http://prdownloads.sourceforge.net/flirt/flirt-20040823.tgz?download">new
release</a> has an extension mechanism. This means you can build
actionscript wrappers for native C code and do more with actionscript
than you could in "normal" Flash. The <a href="extensions.html">Extension
API</a> doc describes this in more detail and shows how to build an object
that renders a movie clip into a bitmap and saves it as a PNG file.</p>

<p>Also, I found that the Linux build didn't have the endian setting
right out of the box. That's fixed, so ActionScript should work a lot
better over there. (Though if you're running Linux on big-endian
hardware, you'll want to change the define in the Makefile.)</p>

<p>Plus, I finally got my <a href="http://www.foveate.com/hawaii04/">vacation
photos</a> online. I know you've been waiting for them!</p>

<h3>04.08.12 - on SourceForge now</h3>

<p>The SF project finally went through. Check the links to the left for
mailing list and project page.</p>

<h3>04.08.08 - oops</h3>

<p>I forgot about testing this on Linux. Should work now. :)</p>

<h3>04.08.07 - printf("hello world");</h3>

<p>Well, here it is, the Flash player code I've been dabbling with off
and on (but mostly off) for the last three years. It's not currently in
a very usable state yet&mdash;I'm releasing it so I'll be more motivated
to get it working, because it won't ever happen at the current rate of
development.</p>

<p><b>How's development going, then?</b></p>

<p>Slowly.</p>

<p>I've got a <a href="http://www.panic.com/">day job</a> that keeps me
from spending more time on this. So, yes, by asking you for feedback on
Flirt, I'm surrendering that last little bit of free time not spent in
front of a computer.

<p>I'm currently developing Flirt on OS X with Xcode, but it builds on
the command line with GNU Make and runs on my x86 Linux box. Older versions
ran on cygwin, using SDL for the graphics interface, and it probably won't
take much work to get that running again.</p>

<p><b>So what do you want from us?</b></p>

<p>Feedback, bugs, ideas, suggestions. Is there anything you'd really
like to see Flirt do (besides just, y'know, <i>work</i>)? Please <a
href="mailto:dave@opaque.net">let me know</a>!</p>

<div class="hr"></div>

    <div class="footnote">
    <b>All content copyright (C) 2004 Dave Hayden except where noted otherwise.</b>
    <br>
    <b>Macromedia and Flash are registered trademarks of Macromedia, Inc. in the United States and/or other countries.</b>
	<br>
	<b>Sushi train!</b>
    </div>

<br>

</div>

</body>
</html>
